/*
 * 版权所有 (C) 2001-2014 深圳市艾派应用系统有限公司。保留所有权利。
 * 版本：
 * 修改记录：
 *		1、2014-11-21，tfl创建。 
 */
package com.chinamobile.ln.ictenterprises.http;

import android.os.Handler;

public abstract class BaseTask
{
    protected Handler _uiHandler = null;

    public final static int TASK_NOTIFY_RETURN_DATA = 1; // 返回数据成功
    
    public final static int TASK_NOTIFY_RETURN_NO_DATA = 0; // 返回数据失败

    public final static int TASK_NOTIFY_CONNECTION_FAIL = TASK_NOTIFY_RETURN_DATA + 1;// 网络连接不可用

    public final static int TASK_NOTIFY_NO_SIM = TASK_NOTIFY_CONNECTION_FAIL + 1;// 没有SIM卡

    public final static int TASK_NOTIFY_AIRPLANE_MODE = TASK_NOTIFY_NO_SIM + 1;// 飞行模式

    public final static int TASK_NOTIFY_DATA_ERROR = TASK_NOTIFY_AIRPLANE_MODE + 1;// 数据错误

    public final static int TASK_NOTIFY_PROGRESS = TASK_NOTIFY_DATA_ERROR + 1;// 进度

    public final static int TASK_NOTIFY_CACHE_UPDATED_SUCCESS = TASK_NOTIFY_PROGRESS + 1;// 更新缓存成功

    public final static int TASK_NOTIFY_NO_CACHE = TASK_NOTIFY_CACHE_UPDATED_SUCCESS + 1;// 没有缓存

    public final static int TASK_NOTIFY_SAVE_CACHE_FAIL = TASK_NOTIFY_NO_CACHE + 1;// 保存缓存出错

    /**
     * 设置_uiHandler
     */
    public void setUIHandler(Handler handler)
    {
        this._uiHandler = handler;
    }

    /**
     * 通知UI任务的状态
     * 
     * @param what
     */
    public abstract void notifyUIStatus(int what);

    /**
     * 通知UI任务的状态以及数据对象
     * 
     * @param what
     * @param obj
     */
    public abstract void notifyUIObject(int what, Object obj);

    /**
     * 返回数据给UI
     * 
     * @param result
     */
    public abstract void onReturnData(Object result);

    /**
     * 异常处理
     * 
     * @param what
     * @param e
     */
    public abstract void exceptionHandle(String what, Exception e);
}
